package com.innovations.inn.mapper;

import com.innovations.inn.domain.Enterprise;
import com.innovations.inn.domain.response.ResponseEnterpriseInfo;

import com.innovations.inn.domain.response.ResponseEnterpriseInfoAll;
import java.util.List;

/**
 * 企业信息Mapper接口
 *
 * @author dp
 * @date 2024-08-09
 */
public interface EnterpriseMapper {
    /**
     * 查询企业信息
     *
     * @param enterpriseId 企业信息主键
     * @return 企业信息
     */
    Enterprise selectEnterpriseByEnterpriseId(Long enterpriseId);

    /**
     * 查询企业信息列表
     *
     * @param enterprise 企业信息
     * @return 企业信息集合
     */
    List<Enterprise> selectEnterpriseList(Enterprise enterprise);

    /**
     * 查询企业信息详细列表
     */
    List<ResponseEnterpriseInfo> selectEnterpriseListInfo(Enterprise enterprise);

    /**
     * 查询企业及资质详细信息列表
     */
    List<ResponseEnterpriseInfoAll> selectEnterpriseListInfoAll(Enterprise enterprise);

    /**
     * 新增企业信息
     *
     * @param enterprise 企业信息
     * @return 结果
     */
    int insertEnterprise(Enterprise enterprise);

    /**
     * 修改企业信息
     *
     * @param enterprise 企业信息
     * @return 结果
     */
    int updateEnterprise(Enterprise enterprise);

    /**
     * 删除企业信息
     *
     * @param enterpriseId 企业信息主键
     * @return 结果
     */
    int deleteEnterpriseByEnterpriseId(Long enterpriseId);

    /**
     * 批量删除企业信息
     *
     * @param enterpriseIds 需要删除的数据主键集合
     * @return 结果
     */
    int deleteEnterpriseByEnterpriseIds(Long[] enterpriseIds);
}
